<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <title>Title</title>
  <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
  <link rel="stylesheet" href="/res/plugin/materialize/css/materialize.min.css">
  <link rel="stylesheet" href="/res/stylesheets/blog-common.css">
  <link rel="stylesheet" href="/res/css/blog/list.css">
</head>
<body>

<header class="header">
  <div class="top">
    <nav>
      <div class="nav-wrapper">
        <div class="icon-canvas-wrapper">
          <canvas id="iconCanvas">

          </canvas>
        </div>
        <div class="search-wrapper">
          <form>
            <div class="input-field">
              <input id="search" type="search" required>
              <label class="label-icon" for="search"><i class="material-icons">search</i></label>
              <i class="material-icons">close</i>
            </div>
          </form>
        </div>
        <ul id="nav-mobile" class="right hide-on-med-and-down">
          <li><a href="javascript:;">主页</a></li>
          <li><a href="javascript:;">JavaScript</a></li>
          <li><a href="javascript:;">关于</a></li>
        </ul>
      </div>
    </nav>
  </div>
  <div id="canvas-box" class="background" style="overflow:hidden">
    <!--<canvas id="canvas">你的浏览器不支持canvas</canvas>-->
  </div>
  <div class="text center-align">
    <div class="content">
      梦里江山,一响贪欢.一梦十年,十年一梦.
    </div>
    <!--<div class="tip"></div>-->
  </div>
</header>
<main>
  <div class="left-wrapper">
    <div class="">
      <ul class="collection z-depth-2">
        <a class="collection-item" href="http://baidu.com">读书笔记<span class="new badge" data-badge-caption="">50</span></a>
        <a class="collection-item">JavaScript<i class="right material-icons">send</i></a>
        <a class="collection-item">NodeJS</a>
        <a class="collection-item">WebGL</a>
        <a class="collection-item">JavaScript高级程序设计第三版</a>
      </ul>
    </div>
  </div>
  <div class="content-wrapper">
    <div class="content">
    <section class="collection z-depth-2 hoverable">
      <a class="collection-item">
        <div class="title">我们提供易于使用的类来隐藏特定屏幕大小的内容。</div>
        <div class="info">
          <div class="valign-wrapper category"><i class="tiny material-icons">view_headline</i><span>javascript</span></div>
          <div class="valign-wrapper createTime"><i class="tiny material-icons">timer</i><span>2017-08-04 00:15:11</span></div>
        </div>
        <div class="summary">
          截尾
          清空一行中溢出的文本并用省略号代替，添加类truncate到包含内容的标签里。 看下面一个卡片标题头被截断的例子。
        </div>
      </a>
    </section>
    <section class="collection z-depth-2 hoverable">
      <a class="collection-item">
        <div class="title">我们提供易于使用的类来隐藏特定屏幕大小的内容。</div>
        <div class="info">
          <div class="valign-wrapper category"><i class="tiny material-icons">view_headline</i><span>javascript</span></div>
          <div class="valign-wrapper createTime"><i class="tiny material-icons">timer</i><span>2017-08-04 00:15:11</span></div>
        </div>
        <div class="summary">
          截尾
          清空一行中溢出的文本并用省略号代替，添加类truncate到包含内容的标签里。 看下面一个卡片标题头被截断的例子。
        </div>
      </a>
    </section>
    <section class="collection z-depth-2 hoverable">
      <a class="collection-item">
        <div class="title">我们提供易于使用的类来隐藏特定屏幕大小的内容。</div>
        <div class="info">
          <div class="valign-wrapper category"><i class="tiny material-icons">view_headline</i><span>javascript</span></div>
          <div class="valign-wrapper createTime"><i class="tiny material-icons">timer</i><span>2017-08-04 00:15:11</span></div>
        </div>
        <div class="summary">
          截尾
          清空一行中溢出的文本并用省略号代替，添加类truncate到包含内容的标签里。 看下面一个卡片标题头被截断的例子。
        </div>
      </a>
    </section>
    <section class="collection z-depth-2 hoverable">
      <a class="collection-item">
        <div class="title">我们提供易于使用的类来隐藏特定屏幕大小的内容。</div>
        <div class="info">
          <div class="valign-wrapper category"><i class="tiny material-icons">view_headline</i><span>javascript</span></div>
          <div class="valign-wrapper createTime"><i class="tiny material-icons">timer</i><span>2017-08-04 00:15:11</span></div>
        </div>
        <div class="summary">
          截尾
          清空一行中溢出的文本并用省略号代替，添加类truncate到包含内容的标签里。 看下面一个卡片标题头被截断的例子。
        </div>
      </a>
    </section>
    <section class="collection z-depth-2 hoverable">
      <a class="collection-item">
        <div class="title">我们提供易于使用的类来隐藏特定屏幕大小的内容。</div>
        <div class="info">
          <div class="valign-wrapper category"><i class="tiny material-icons">view_headline</i><span>javascript</span></div>
          <div class="valign-wrapper createTime"><i class="tiny material-icons">timer</i><span>2017-08-04 00:15:11</span></div>
        </div>
        <div class="summary">
          截尾
          清空一行中溢出的文本并用省略号代替，添加类truncate到包含内容的标签里。 看下面一个卡片标题头被截断的例子。
        </div>
      </a>
    </section>
    </div>
    <div class="content-page">
      <ul class="pagination">
        <li class="disabled"><a href="#!"><i class="material-icons">chevron_left</i></a></li>
        <li class="active"><a href="#!">1</a></li>
        <li class="waves-effect"><a href="#!">2</a></li>
        <li class="waves-effect"><a href="#!">3</a></li>
        <li class=""><a href="#!">...</a></li>
        <li class="waves-effect"><a href="#!"><i class="material-icons">chevron_right</i></a></li>
      </ul>
    </div>
  </div>
  <div class="right-wrapper">
    <div class="collapsible">
      <div class="top">
        <ul class="tabs tabs-fixed-width z-depth-1">
          <li class="tab  "><a href="#tabs_tags" class="#active">标签</a></li>
          <li class="tab  "><a href="#tabs_time" class="">时间</a></li>
        </ul>
      </div>
      <div id="tabs_tags" class="tabs_content_tags">
          <a class="chip" href="/ssaas">
            李四
          </a>
          <a class="chip">
            李四
          </a>
          <a class="chip">
            李四
          </a>
          <a class="chip">
            李四
          </a>
          <a class="chip">
            李四四四
          </a>
          <a class="chip">
            李四
          </a>
          <a class="chip">
            李四
          </a>
      </div>
      <div id="tabs_time" class="tabs_content_time display-hide">
        <ul class="collection z-depth-2">
          <a class="collection-item">白菜<span class="new badge" data-badge-caption="">50</span></a>
          <a class="collection-item">青菜<a href="#!" class="secondary-content"><i class="material-icons">send</i></a></a>
          <a class="collection-item">萝卜</a>
          <a class="collection-item">土豆</a>
        </ul>
      </div>
    </div>
  </div>
</main>
<footer class="page-footer">
    <!--
  <div class="container">
    <div class="row">
      <div class="col l6 s12">
        <h5 class="white-text">页脚内容</h5>
        <p class="grey-text text-lighten-4">你可以用行和列来组织你的页脚内容。</p>
      </div>
      <div class="col l4 offset-l2 s12">
        <h5 class="white-text">链接</h5>
        <ul>
          <li><a class="grey-text text-lighten-3" href="#!">链接 1</a></li>
          <li><a class="grey-text text-lighten-3" href="#!">链接 2</a></li>
          <li><a class="grey-text text-lighten-3" href="#!">链接 3</a></li>
          <li><a class="grey-text text-lighten-3" href="#!">链接 4</a></li>
        </ul>
      </div>
    </div>
  </div>
    -->
  <div class="footer-copyright">
    <div class="container">
      © 2014 Copyright 文本
      <a class="grey-text text-lighten-4 right" href="#!">更多链接</a>
    </div>
  </div>
</footer>
<script type="text/javascript" src="/res/plugin/fontMouse/fontMouse.js"></script>
<!--<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>-->
<script src="/res/plugin/jquery/jquery-3.2.1.min.js"></script>

<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/js/materialize.min.js"></script>-->
<script src="/res/plugin/materialize/js/materialize.js"></script>

<!--<script src="/res/plugin/starry/starry.js"></script>-->
<!-- <script type="text/javascript" src="/res/plugin/rain/rainyday.js"></script> -->


<script type="text/javascript" src="/res/plugin/toxiclibs/toxiclibs.min.js"></script>
<script type="text/javascript" src="/res/plugin/toxiclibs/animitter.min.js"></script>
<script type="text/javascript" src="/res/plugin/toxiclibs/index.js"></script>

<!--
<script id="sakura_point_vsh" type="x-shader/x_vertex">
uniform mat4 uProjection;
uniform mat4 uModelview;
uniform vec3 uResolution;
uniform vec3 uOffset;
uniform vec3 uDOF;  //x:focus distance, y:focus radius, z:max radius
uniform vec3 uFade; //x:start distance, y:half distance, z:near fade start

attribute vec3 aPosition;
attribute vec3 aEuler;
attribute vec2 aMisc; //x:size, y:fade

varying vec3 pposition;
varying float psize;
varying float palpha;
varying float pdist;

//varying mat3 rotMat;
varying vec3 normX;
varying vec3 normY;
varying vec3 normZ;
varying vec3 normal;

varying float diffuse;
varying float specular;
varying float rstop;
varying float distancefade;

void main(void) {
    // Projection is based on vertical angle
    vec4 pos = uModelview * vec4(aPosition + uOffset, 1.0);
    gl_Position = uProjection * pos;
    gl_PointSize = aMisc.x * uProjection[1][1] / -pos.z * uResolution.y * 0.5;

    pposition = pos.xyz;
    psize = aMisc.x;
    pdist = length(pos.xyz);
    palpha = smoothstep(0.0, 1.0, (pdist - 0.1) / uFade.z);

    vec3 elrsn = sin(aEuler);
    vec3 elrcs = cos(aEuler);
    mat3 rotx = mat3(
        1.0, 0.0, 0.0,
        0.0, elrcs.x, elrsn.x,
        0.0, -elrsn.x, elrcs.x
    );
    mat3 roty = mat3(
        elrcs.y, 0.0, -elrsn.y,
        0.0, 1.0, 0.0,
        elrsn.y, 0.0, elrcs.y
    );
    mat3 rotz = mat3(
        elrcs.z, elrsn.z, 0.0,
        -elrsn.z, elrcs.z, 0.0,
        0.0, 0.0, 1.0
    );
    mat3 rotmat = rotx * roty * rotz;
    normal = rotmat[2];

    mat3 trrotm = mat3(
        rotmat[0][0], rotmat[1][0], rotmat[2][0],
        rotmat[0][1], rotmat[1][1], rotmat[2][1],
        rotmat[0][2], rotmat[1][2], rotmat[2][2]
    );
    normX = trrotm[0];
    normY = trrotm[1];
    normZ = trrotm[2];

    const vec3 lit = vec3(0.6917144638660746, 0.6917144638660746, -0.20751433915982237);

    float tmpdfs = dot(lit, normal);
    if(tmpdfs < 0.0) {
        normal = -normal;
        tmpdfs = dot(lit, normal);
    }
    diffuse = 0.4 + tmpdfs;

    vec3 eyev = normalize(-pos.xyz);
    if(dot(eyev, normal) > 0.0) {
        vec3 hv = normalize(eyev + lit);
        specular = pow(max(dot(hv, normal), 0.0), 20.0);
    }
    else {
        specular = 0.0;
    }

    rstop = clamp((abs(pdist - uDOF.x) - uDOF.y) / uDOF.z, 0.0, 1.0);
    rstop = pow(rstop, 0.5);
    //-0.69315 = ln(0.5)
    distancefade = min(1.0, exp((uFade.x - pdist) * 0.69315 / uFade.y));
}
</script>
<script id="sakura_point_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif

uniform vec3 uDOF;  //x:focus distance, y:focus radius, z:max radius
uniform vec3 uFade; //x:start distance, y:half distance, z:near fade start

const vec3 fadeCol = vec3(0.08, 0.03, 0.06);

varying vec3 pposition;
varying float psize;
varying float palpha;
varying float pdist;

//varying mat3 rotMat;
varying vec3 normX;
varying vec3 normY;
varying vec3 normZ;
varying vec3 normal;

varying float diffuse;
varying float specular;
varying float rstop;
varying float distancefade;

float ellipse(vec2 p, vec2 o, vec2 r) {
    vec2 lp = (p - o) / r;
    return length(lp) - 1.0;
}

void main(void) {
    vec3 p = vec3(gl_PointCoord - vec2(0.5, 0.5), 0.0) * 2.0;
    vec3 d = vec3(0.0, 0.0, -1.0);
    float nd = normZ.z; //dot(-normZ, d);
    if(abs(nd) < 0.0001) discard;

    float np = dot(normZ, p);
    vec3 tp = p + d * np / nd;
    vec2 coord = vec2(dot(normX, tp), dot(normY, tp));

    //angle = 15 degree
    const float flwrsn = 0.258819045102521;
    const float flwrcs = 0.965925826289068;
    mat2 flwrm = mat2(flwrcs, -flwrsn, flwrsn, flwrcs);
    vec2 flwrp = vec2(abs(coord.x), coord.y) * flwrm;

    float r;
    if(flwrp.x < 0.0) {
        r = ellipse(flwrp, vec2(0.065, 0.024) * 0.5, vec2(0.36, 0.96) * 0.5);
    }
    else {
        r = ellipse(flwrp, vec2(0.065, 0.024) * 0.5, vec2(0.58, 0.96) * 0.5);
    }

    if(r > rstop) discard;

    vec3 col = mix(vec3(1.0, 0.8, 0.75), vec3(1.0, 0.9, 0.87), r);
    float grady = mix(0.0, 1.0, pow(coord.y * 0.5 + 0.5, 0.35));
    col *= vec3(1.0, grady, grady);
    col *= mix(0.8, 1.0, pow(abs(coord.x), 0.3));
    col = col * diffuse + specular;

    col = mix(fadeCol, col, distancefade);

    float alpha = (rstop > 0.001)? (0.5 - r / (rstop * 2.0)) : 1.0;
    alpha = smoothstep(0.0, 1.0, alpha) * palpha;

    gl_FragColor = vec4(col * 0.5, alpha);
}
</script>
&lt;!&ndash; effects &ndash;&gt;
<script id="fx_common_vsh" type="x-shader/x_vertex">
uniform vec3 uResolution;
attribute vec2 aPosition;

varying vec2 texCoord;
varying vec2 screenCoord;

void main(void) {
    gl_Position = vec4(aPosition, 0.0, 1.0);
    texCoord = aPosition.xy * 0.5 + vec2(0.5, 0.5);
    screenCoord = aPosition.xy * vec2(uResolution.z, 1.0);
}
</script>
<script id="bg_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif

uniform vec2 uTimes;

varying vec2 texCoord;
varying vec2 screenCoord;

void main(void) {
    vec3 col;
    float c;
    vec2 tmpv = texCoord * vec2(0.8, 1.0) - vec2(0.95, 1.0);
    c = exp(-pow(length(tmpv) * 1.8, 2.0));
    col = mix(vec3(0.02, 0.0, 0.03), vec3(0.96, 0.98, 1.0) * 1.5, c);
    gl_FragColor = vec4(col * 0.5, 1.0);
}
</script>
<script id="fx_brightbuf_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif
uniform sampler2D uSrc;
uniform vec2 uDelta;

varying vec2 texCoord;
varying vec2 screenCoord;

void main(void) {
    vec4 col = texture2D(uSrc, texCoord);
    gl_FragColor = vec4(col.rgb * 2.0 - vec3(0.5), 1.0);
}
</script>
<script id="fx_dirblur_r4_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif
uniform sampler2D uSrc;
uniform vec2 uDelta;
uniform vec4 uBlurDir; //dir(x, y), stride(z, w)

varying vec2 texCoord;
varying vec2 screenCoord;

void main(void) {
    vec4 col = texture2D(uSrc, texCoord);
    col = col + texture2D(uSrc, texCoord + uBlurDir.xy * uDelta);
    col = col + texture2D(uSrc, texCoord - uBlurDir.xy * uDelta);
    col = col + texture2D(uSrc, texCoord + (uBlurDir.xy + uBlurDir.zw) * uDelta);
    col = col + texture2D(uSrc, texCoord - (uBlurDir.xy + uBlurDir.zw) * uDelta);
    gl_FragColor = col / 5.0;
}
</script>
&lt;!&ndash; effect fragment shader template &ndash;&gt;
<script id="fx_common_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif
uniform sampler2D uSrc;
uniform vec2 uDelta;

varying vec2 texCoord;
varying vec2 screenCoord;

void main(void) {
    gl_FragColor = texture2D(uSrc, texCoord);
}
</script>
&lt;!&ndash; post processing &ndash;&gt;
<script id="pp_final_vsh" type="x-shader/x_vertex">
uniform vec3 uResolution;
attribute vec2 aPosition;
varying vec2 texCoord;
varying vec2 screenCoord;
void main(void) {
    gl_Position = vec4(aPosition, 0.0, 1.0);
    texCoord = aPosition.xy * 0.5 + vec2(0.5, 0.5);
    screenCoord = aPosition.xy * vec2(uResolution.z, 1.0);
}
</script>
<script id="pp_final_fsh" type="x-shader/x_fragment">
#ifdef GL_ES
//precision mediump float;
precision highp float;
#endif
uniform sampler2D uSrc;
uniform sampler2D uBloom;
uniform vec2 uDelta;
varying vec2 texCoord;
varying vec2 screenCoord;
void main(void) {
    vec4 srccol = texture2D(uSrc, texCoord) * 2.0;
    vec4 bloomcol = texture2D(uBloom, texCoord);
    vec4 col;
    col = srccol + bloomcol * (vec4(1.0) + srccol);
    col *= smoothstep(1.0, 0.0, pow(length((texCoord - vec2(0.5)) * 2.0), 1.2) * 0.5);
    col = pow(col, vec4(0.45454545454545)); //(1.0 / 2.2)

    gl_FragColor = vec4(col.rgb, 1.0);
    gl_FragColor.a = 1.0;
}
</script>
<script type="text/javascript" src="/res/plugin/petalFall/index.js"></script>
-->

<script type="text/javascript" src="/res/plugin/firework/firework.js"></script>
<script>
$(function () {
  $("#canvas-box").fireworks({
    width: "100%",
    height: "100%"
  });
})
</script>
</body>
</html>